home *** CD-ROM | disk | FTP | other *** search
/ PC Player 2004 May / pc player 2004-05.iso / Demos / FarCry / Data1.cab / _D61BCC2F737347C1B7347ADB7DF023C3 < prev    next >
Encoding:
Text File  |  2004-01-06  |  1.0 KB  |  36 lines

  1.  
  2.       #include "../CGVPMacro.csi"
  3.  
  4.       DefaultPos
  5.  
  6.       VertAttributes { POSITION_3 TEXCOORD0_2 TANG_3X3 }
  7.  
  8.       VS20Only
  9.       
  10.       MainInput { VIEWPROJ_MATRIX, CAMERA_POS, uniform float4x4 ModelMatrix }
  11.       DeclarationsScript
  12.       {
  13.         IN_T0_TANG
  14.         OUT_T0_T1_T2_T3_T4_T5_T6
  15.       }
  16.       PositionScript = PosCommon
  17.       CoreScript
  18.       {
  19.         OUT.Tex0.xy = IN.TexCoord0.xy;
  20.         OUT.Tex1.xy = IN.TexCoord0.xy;
  21.         OUT.Tex2.xy = IN.TexCoord0.xy;
  22.       
  23.         TANG_MATR
  24.  
  25.         float3 viewVec = CameraPos.xyz - vPos.xyz;
  26.         OUT.Tex3.xyz = mul(objToTangentSpace, viewVec.xyz);
  27.  
  28.         float3 worldTangentS = mul((const float3x3)ModelMatrix, objToTangentSpace[0]);
  29.         float3 worldTangentT = mul((const float3x3)ModelMatrix, objToTangentSpace[1]);
  30.         float3 worldNormal   = mul((const float3x3)ModelMatrix, objToTangentSpace[2]);
  31.  
  32.           OUT.Tex4.xyz = worldTangentS;
  33.           OUT.Tex5.xyz = worldTangentT;
  34.           OUT.Tex6.xyz = worldNormal;
  35.       }
  36.